home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / rpcsvc / sm_inter.x < prev    next >
Text File  |  2006-05-08  |  4KB  |  117 lines

  1. /* @(#)sm_inter.x    2.2 88/08/01 4.0 RPCSRC */
  2. /* @(#)sm_inter.x 1.7 87/06/24 Copyr 1987 Sun Micro */
  3.  
  4. /*
  5.  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  6.  * unrestricted use provided that this legend is included on all tape
  7.  * media and as a part of the software program in whole or part.  Users
  8.  * may copy or modify Sun RPC without charge, but are not authorized
  9.  * to license or distribute it to anyone else except as part of a product or
  10.  * program developed by the user.
  11.  *
  12.  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
  13.  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  14.  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  15.  *
  16.  * Sun RPC is provided with no support and without any obligation on the
  17.  * part of Sun Microsystems, Inc. to assist in its use, correction,
  18.  * modification or enhancement.
  19.  *
  20.  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
  21.  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
  22.  * OR ANY PART THEREOF.
  23.  *
  24.  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
  25.  * or profits or other special, indirect and consequential damages, even if
  26.  * Sun has been advised of the possibility of such damages.
  27.  *
  28.  * Sun Microsystems, Inc.
  29.  * 2550 Garcia Avenue
  30.  * Mountain View, California  94043
  31.  */
  32.  
  33. /*
  34.  * Status monitor protocol specification
  35.  * Copyright (C) 1986 Sun Microsystems, Inc.
  36.  *
  37.  */
  38.  
  39.  
  40. program SM_PROG {
  41.     version SM_VERS  {
  42.         /* res_stat = stat_succ if status monitor agrees to monitor */
  43.         /* res_stat = stat_fail if status monitor cannot monitor */
  44.         /* if res_stat == stat_succ, state = state number of site sm_name */
  45.         struct sm_stat_res             SM_STAT(struct sm_name) = 1;
  46.  
  47.         /* res_stat = stat_succ if status monitor agrees to monitor */
  48.         /* res_stat = stat_fail if status monitor cannot monitor */
  49.         /* stat consists of state number of local site */
  50.         struct sm_stat_res             SM_MON(struct mon) = 2;
  51.  
  52.         /* stat consists of state number of local site */
  53.         struct sm_stat                 SM_UNMON(struct mon_id) = 3;
  54.  
  55.         /* stat consists of state number of local site */
  56.         struct sm_stat                 SM_UNMON_ALL(struct my_id) = 4;
  57.  
  58.         void                     SM_SIMU_CRASH(void) = 5;
  59.  
  60.     } = 1;
  61. } = 100024;
  62.  
  63. const    SM_MAXSTRLEN = 1024;
  64.  
  65. struct sm_name {
  66.     string mon_name<SM_MAXSTRLEN>;
  67. };
  68.  
  69. struct my_id {
  70.     string     my_name<SM_MAXSTRLEN>;        /* name of the site initiating the monitoring request*/
  71.     int    my_prog;            /* rpc program # of the requesting process */
  72.     int    my_vers;            /* rpc version # of the requesting process */
  73.     int    my_proc;            /* rpc procedure # of the requesting process */
  74. };
  75.  
  76. struct mon_id {
  77.     string    mon_name<SM_MAXSTRLEN>;        /* name of the site to be monitored */
  78.     struct my_id my_id;
  79. };
  80.  
  81.  
  82. struct mon{
  83.     struct mon_id mon_id;
  84.     opaque priv[16];         /* private information to store at monitor for requesting process */
  85. };
  86.  
  87.  
  88. /*
  89.  * state # of status monitor monotonically increases each time
  90.  * status of the site changes:
  91.  * an even number (>= 0) indicates the site is down and
  92.  * an odd number (> 0) indicates the site is up;
  93.  */
  94. struct sm_stat {
  95.     int state;        /* state # of status monitor */
  96. };
  97.  
  98. enum res {
  99.     stat_succ = 0,        /* status monitor agrees to monitor */
  100.     stat_fail = 1        /* status monitor cannot monitor */
  101. };
  102.  
  103. struct sm_stat_res {
  104.     res res_stat;
  105.     int state;
  106. };
  107.  
  108. /*
  109.  * structure of the status message sent back by the status monitor
  110.  * when monitor site status changes
  111.  */
  112. struct status {
  113.     string mon_name<SM_MAXSTRLEN>;
  114.     int state;
  115.     opaque priv[16];        /* stored private information */
  116. };
  117.